package com.example.demo.service;

import com.example.demo.pojo.Lend;
import com.example.demo.pojo.PageBean;
import com.example.demo.pojo.QueryCriteria;
import com.example.demo.utils.Result;

import java.math.BigDecimal;

public interface LendService {

    /**
     * 根据book_id 图书预约
     */
    Result reservationBookByBookId(int book_id,int reader_id);



    /**
     * 根据book_id进行图书借阅
     */
    Result lendBookByBookId(int book_id,int reader_id);

    /**
     * 图书归还
     */
    Result returnBookByBookId(int ser_num,int reader_id);

    /**
     * 借阅记录查询
     */
    PageBean<Lend> queryLendList(int currentPage, int pageSize);

    /**
     * 读者借阅记录查询
     */
    PageBean<Lend> queryLendListByList(int currentPage, int pageSize,int reader_id);

    /**
     * 交纳罚金
     * @return
     */
    Result payFine(int ser_num);

    /**
     * 罚款历史查询
     */
    PageBean<Lend> fineHistory(int currentPage, int pageSize);

    /**'
     * 图书续借
     * @param ser_num
     * @param reader_id
     * @return
     */
    Result renewBookBySerNum(int ser_num,int reader_id);

    /**
     * 根据条件查询借阅信息
     * @param currentPage
     * @param pageSize
     * @param queryCriteria
     * @return
     */
    Result queryLendListByQueryCriteria(int currentPage, int pageSize, QueryCriteria queryCriteria);

    /**
     * 预约列表展示
     * @param currentPage
     * @param pageSize
     * @return
     */
    Result queryReservationList(int currentPage, int pageSize);
}
